#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

//int main()
//{
//	char ch = "wasdasf";
//	char* pc = &ch;
//	*pc = 'w';
//
//	return 0;
//}

//int main()
//{
//	char* pstr = "hello world";
//	printf("%s\n", pstr);
//
//	return 0;
//}


//int main()
//{
//	char str1[] = "abcdef";
//	char str2[] = "abcdef";
//	const char* str3 = "abcdef";
//	const char* str4 = "abcdef";
//
//	if (str1 == str2)
//		printf("str1 == str2\n");
//	else
//		printf("str1 != str2\n");
//
//	if (str3 == str4)
//		printf("str3 == str4\n");
//	else
//		printf("str3 != str4\n");
//
//	return 0;
//}
////指针数组的使用方法
//int main()
//{
//	int a = 10;
//	int b = 20;
//	int c = 30;
//	int* parr[4] = { &a, &b, &c };
//
//	int i = 0;
//	for (i = 0; i < 4; i++) {
//		printf("%d\n", *(parr[i]));
//	}
//
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//	int arr1[] = { 1, 2, 3, 4, 5 };
//	int arr2[] = { 2, 3, 4, 5, 6 };
//	int arr3[] = { 3, 4, 5, 6, 7 };
//
//	int* p[] = { arr1, arr2, arr3 }; // 首元素地址
//
//	int i = 0;
//	for (i = 0; i < 3; i++) {
//		int j = 0;
//		for (j = 0; j < 5; j++) {
//			printf("%d ", *(p[i] + j)); // j-> 首元素+0，首元素+1，+2...
//			// == p[i][j] 
//		}
//		printf("\n");
//	}
//
//	return 0;
//}

//int main()
//{
//    int a = 10;
//    int* pa = &a;
//    char ch = 'w';
//    char* pc = &ch;
//
//    int arr[10] = { 1,2,3,4,5 };
//    int(*parr)[10] = &arr; // 取出的是数组的地址,parr与括号里面的* 相结合 
//    // parr 就是一个数组指针
//
//    return 0;
//}

//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int(*pa)[10] = &arr; // 指针指向一个数组，数组是10个元素，每个元素是int型
//
//	int i = 0;
//	for (i = 0; i < 10; i++) {
//		printf("%d ", *((*pa) + i));
//	}
//
//	return 0;
//}

//void print1(
//	int arr[3][5],
//	int row,
//	int col
//)
//{
//	int i = 0;
//	int j = 0;
//	for (i = 0; i < row; i++) {
//		for (j = 0; j < col; j++) {
//			printf("%d ", arr[i][j]);
//		}
//		printf("\n");
//	}
//}
//
//void print2(
//	int(*p)[5], // 👈 数组指针，指向二维数组的某一行
//	int row,
//	int col
//)
//{
//	int i = 0;
//	int j = 0;
//	for (i = 0; i < row; i++) {
//		for (j = 0; j < col; j++) {
//			printf("%d ", *(*(p + i) + j));
//			// printf("%d ", (*(p + i))[j]);
//			// printf("%d ", *(p[i] + j));
//			// printf("%d ", p[i][j]);
//		}
//		printf("\n");
//	}
//}
//
//int main()
//{
//	int arr[3][5] = { {1,2,3,4,5}, {2,3,4,5,6}, {3,4,5,6,7} };
//	print1(arr, 3, 5);
//	//print2(arr, 3, 5); // arr数组名，表示元素首元素的地址
//
//	return 0;
//}